home *** CD-ROM | disk | FTP | other *** search
- REM INCLUDE$: 'LISTING.BAS'
- DEFINT A-Z
-
- REM $INCLUDE: 'COMDIM.BAS'
- DIM ORFLD$(20)
-
- REM $INCLUDE: 'SHARED.BAS'
- COMMON SHARED ORFLD$()
-
- REM $INCLUDE: 'COMDEF.BAS'
-
-
-
- REM Define screen field headings.
-
- DIS$(10)="05,03,REV,ACCOUNT #"
- DIS$(11)="05,14,REV, P.O. # "
- DIS$(12)="05,26,REV,SHIP TO #"
- DIS$(13)="08,02,REV,ITEM #"
- DIS$(14)="08,09,REV, CATALOG # "
- DIS$(15)="08,24,REV,VENDOR"
- DIS$(16)="08,31,REV, DESCRIPTION/COMMENT "
- DIS$(17)="08,58,REV,UM"
- DIS$(18)="08,61,REV, ORD QTY "
- DIS$(19)="08,71,REV, PRICE "
-
- REM Define screen input fields.
-
- INP$(1)="06,05,NUM,5,NO,ACCT"
- INP$(2)="06,14,ALP,10,YES,PO"
- INP$(3)="06,29,NUM,3,YES,SHIPTO"
- INP$(4)="09,02,NUM!NODEF,6,NO,ITEM"
- INP$(5)="09,09,ALP,14,NO,CAT"
- INP$(6)="09,24,ALP,6,NO,VEND"
- INP$(7)="09,31,ALP,26,YES,DESC"
- INP$(8)="09,58,ALP!FIX,2,YES,UM"
- INP$(9)="09,61,NUM!DEC,9,NO,QTY"
- INP$(10)="09,71,NUM!DEC,9,YES,PRICE"
-
-
-
-
- REM Display field headings.
-
- HEADS$="10,11,12,13,14,15,16,17,18,19"
- CALL DISHEADS (HEADS$)
-
- EDITMODE=NO
-
- ADD.HEADER:
- EXITSUB=NO
-
- REM Display function key definitions.
-
- FUNC$=",,,Exit"
- CALL FUNCTIONS (FUNC$)
-
- ADD.HEADER.LOOP:
-
- CLRF$="1,2,3"
- INPS$="1,2,3"
- FLDS$="1,2,3"
- VOID$="6,5,31"
- CALL GETFIELDS (CLRF$,INPS$,FLDS$,VOID$)
- IF EXITSUB = YES THEN END
- IF KY = ESC THEN GOTO ADD.HEADER.LOOP
-
- REM Display function key definitions.
-
- FUNC$=",,,End order"
- CALL FUNCTIONS (FUNC$)
-
- ADD.DETAIL:
- CLRF$="4,5,6,7,8,9,10"
- INPS$="4,5,6,7,8,9,10"
- FLDS$="4,5,6,7,8,9,10"
- VOID$="9,2,79"
- CALL GETFIELDS (CLRF$,INPS$,FLDS$,VOID$)
- IF EXITSUB = YES THEN GOTO ADD.HEADER
- IF KY = ESC THEN GOTO ADD.DETAIL
-
- GOTO ADD.DETAIL
-
-
-
- SUB GETFIELDS (CLRF$,INPS$,FLDS$,VOID$) STATIC
- EXITSUB=NO
- IF CLRF$<>"" THEN CALL CLEARFIELDS (CLRF$)
- CALL LODWK1 (INPS$,I)
- CALL LODWK2 (FLDS$,F)
- IF I > F THEN N=WRK1%(I) : I=I-1 ELSE N=1
- WHILE N<=I
- F$=ORFLD$(WRK2%(N))
- CALL ACCEPT (INP$((WRK1%(N))),F$)
- IF KY = F4 THEN EXITSUB=YES : EXIT SUB
- IF KY = F5 THEN DATSW=YES
- IF KY = CTRL.LF THEN N=N+(N>1)
- IF KY = CTRL.RT THEN N=N-(N<I)
- IF KY = ESC AND VOID$<>"" THEN EN=106 : CALL DISERR (EN,ER$) : CALL CLRLIN (VOID$) : EXIT SUB
- IF KY = 0 THEN LSET ORFLD$(WRK2%(N)) = F$ : N=N+1
- WEND
- END SUB
-
- SUB CLRLIN (LIN$) STATIC
- CALL LODWK2 (LIN$,F)
- LOCATE WRK2%(1),WRK2%(2) : COLOR 7,0 : PRINT SPC((WRK2%(3)-WRK2%(2))+1);
- END SUB
-
- SUB CLEARFIELDS (FLDS$) STATIC
- CALL LODWK2 (FLDS$,F)
- FOR N = 1 TO F
- LSET ORFLD$(WRK2%(N))=""
- NEXT N
- END SUB
-
- SUB DISHEADS (HEADS$) STATIC
- CALL LODWK1 (HEADS$,I)
- BUMP=0
- N=1
- WHILE N<=I
- CALL DISPLAY (DIS$((WRK1%(N))),NULL$,BUMP)
- N=N+1
- WEND
- END SUB